% @author : slandarer
A = [2 -2; -2 4];
b = [0; 2];
x = zeros(size(b));

epn    = inf;     % 初始精度
tol    = 1e-6;    % 要求精度
maxItr = 1e3;     % 最大轮数

k=1;
while k<=maxItr && epn>tol
    p = b-A*x;                % 求解梯度反方向
    a = dot(p,p)./dot(A*p,p); % 求解\alpha值
    x = x+a.*p;               % 更新变量x值
    
    k = k+1;
    epn = norm(a.*p);
end

disp('最速下降法求解结果为:')
disp(x)
disp('线性方程组的解为:')
disp(A\b)
% 最速下降法求解结果为:
%     1.0000
%     1.0000
% 线性方程组的解为:
%      1
%      1